// const baseUrl = "https://6043950n4x.oicp.vip:44960/";
// const baseUrl = "https://192.168.88.208:8002/";
const baseUrl = "https://xcx.jinchenghealth.com:8002/";
// const baseUrl = "https://www.niangao.asia:8002/";

// export default function request (url, params={}) {
// 	return new Promise (function (resolve, reject) {
// 		wx.showLoading({
// 			title: '加载中',
// 		})
// 		wx.request({
// 			url: baseUrl + url,
// 			data: params.data || {},
// 			header: params.header || {},
// 			method: params.method || 'GET',
// 			dataType: 'json',
// 			success: function(res) {
// 				wx.hideLoading()
// 				resolve(res.data)
// 			},
// 			fail: function(err) {
// 				wx.hideLoading();
// 				wx.showToast({
// 					title: err.errMsg || '请求错误',
// 				})
// 				reject(err)
// 			}
// 		})
// 	})
// }

const REQUEST = (url, method, data, header) => {
  return new Promise((resolve, reject) => {
    wx.showLoading({
			title: '加载中',
		})
    wx.request({
      url: baseUrl + url,
      method: method || 'GET',
      data: data || {},
      dataType: 'json',
      header: header || {},
      success(res) {
        wx.hideLoading()
        resolve(res.data)
      },
      fail(error) {
        wx.hideLoading();
        console.log('error', error);
				wx.showToast({
					title: res.errMsg,
				})
        reject(error)
      }
    })
  })
}

export default function HTTP (url, method, data, header={"Content-Type": "application/json"}, isToken = true) {
  return new Promise((resolve, reject) => {
    // 请求带token
    if (isToken) {
      let token = wx.getStorageSync('token')
      // 缓存有token直接用
      if (token) {
        header['token'] = token
        data = Object.assign({
          openId: token
        }, data)
        REQUEST(url, method, data, header).then(res => {
          resolve(res)
        })
        // 缓存没有token，用code换取
      } 
      // else {
      //   wx.login({
      //     success: res => {
      //       if (res.code) {
      //         getUserAuthor({
      //           code: res.code
      //         }).then(res => {
      //           wx.setStorageSync('token', res.data.openid)
      //           data = Object.assign({
      //             openId: res.data.openid
      //           }, data)
      //           REQUEST(url, method, data, header).then(res => {
      //             resolve(res)
      //           })
      //         })
      //       }
      //     }
      //   })
      // }
      // 不用token
    } else { 
      REQUEST(url, method, data, header).then(res => {
        resolve(res)
      })
    }
  })
}